package com.itheima.homrwork.homrwork03;

import java.util.ArrayList;
import java.util.stream.Stream;

public class Test03 {
    /*
        现有两个队伍的人员，分别存入两个List集合中，如下所示：
            // 队伍1
            ArrayList<String> team1 = new ArrayList<>();
            team1.add("陈玄风");
            team1.add("梅超风");
            team1.add("风清扬");
            team1.add("解风");
            team1.add("风波恶");
            team1.add("陆乘风");
            team1.add("曲灵风");
            team1.add("武眠风");
            team1.add("冯默风");
            team1.add("陆小风");

            // 队伍2
            ArrayList<String> team2 = new ArrayList<>();
            team2.add("宋远桥");
            team2.add("俞莲舟");
            team2.add("俞岱岩");
            team2.add("张松溪");
            team2.add("张翠山");
            team2.add("殷梨亭");
            team2.add("莫声谷");
            另有Student类，其中包含name属性，如下：
            class Student {
                private String name;
                public Student(String name) {
                    this.name = name;
                }
                @Override
                public String toString() {
                    return "Student{" +
                            "name='" + name + '\'' +
                            '}';
                }
            }
            请使用流依次完成如下操作：
            1、从第一个队伍中筛选出名字为3个字并且以“风”字结尾的人，筛选之后，只保留前6个。
            2、从第二个队伍中筛选出姓张的人员，筛选之后，不要第一个。
            3、将两个筛选结果合并为一个队伍。
            4、将结果队伍中的字符串姓名作为Student对象的属性，创建Student对象，将集合中的元素都更改为Student类型。
            5、打印结果队伍的Student对象信息
     */
    public static void main(String[] args) {
        ArrayList<String> team1 = new ArrayList<>();
        team1.add("陈玄风");
        team1.add("梅超风");
        team1.add("风清扬");
        team1.add("解风");
        team1.add("风波恶");
        team1.add("陆乘风");
        team1.add("曲灵风");
        team1.add("武眠风");
        team1.add("冯默风");
        team1.add("陆小风");

        ArrayList<String> team2 = new ArrayList<>();
        team2.add("宋远桥");
        team2.add("俞莲舟");
        team2.add("俞岱岩");
        team2.add("张松溪");
        team2.add("张翠山");
        team2.add("殷梨亭");
        team2.add("莫声谷");

        Stream<String> stream = team1.stream().filter(s -> s.length()==3).filter(s -> s.endsWith("风")).limit(6);
        Stream<String> stream1 = team2.stream().filter(s -> s.contains("张")).skip(1);
        //Stream.concat(stream,stream1).forEach(s -> System.out.println(s));
        System.out.println("-------------------------");
        Stream.concat(stream,stream1).forEach(name -> {
            Student student = new Student(name);
            System.out.println(student);
        });

    }
}
